Touch-Sensitive User Interface

ABSTRACT

A touch-sensitive user interface includes a sensor element providing a plurality of sensing areas, a measurement circuit coupled to the sensor element and operable to iteratively acquire measurement signal values indicative of the proximity of an object to the respective sensing areas, and a processor operable to receive the measurement signal values from the measurement circuit and to classify a sensing area as an activated sensing area for a current iteration according to predefined selection criteria, wherein the predefined selection criteria are such that activation of at least a first sensing area in a current iteration is suppressed if at least a second sensing area has previously been classified as an activated sensing area within a predefined period before the current iteration. Thus a sensing area may be prevented from being activated for a predefined period of time after another sensing area has been activated.

FIELD

The invention relates to touch-sensitive user interfaces, and moreparticularly to touch-sensitive user interfaces that include a pluralityof sensing areas.

BACKGROUND

Touch-sensitive user interfaces that include touch-sensitive sensingareas are used in many types of devices. In some existing userinterfaces based on touch-sensitive sensing areas mistakes may be madein correctly determining which of the sensing areas is to be intendedfor selection (i.e. which areas are to be considered activated). Suchmistakes may arise because the measurement signal values that areassociated with the different sensing areas in a touch sensitive userinterface (e.g. measurements of capacitance) are not generally binaryindications, but are continuously variable. A controller is thusemployed to analyze the measurement signal values for the varioussensing areas and to determine which keys are to be considered as beingcurrently activated from their associated measurement signals.

The general trend towards smaller interfaces with increasedfunctionality increases the complexity of properly determining sensingareas intended to be selected. Smaller touch-sensitive user interfaceshave more densely packed sensing areas such that a user's finger (orother pointing object) is more likely to overlap multiple keys at thesame time or in too-quick succession. Furthermore, cover panels fortouch-sensitive user interfaces are often flat such that there is notactile feedback available to help a user to correctly position thepointing object over the desired region of the touch-sensitive userinterface.

Basing key selection on a straightforward comparison of the magnitudesof the measured signal values, such as by selecting which key iscurrently associated with the greatest coupling signal above a selectionthreshold, does not always provide satisfactory performance. Even thoughsome existing schemes may provide improved user-interface performance inmany situations, there are still situations in which a user interfacescan be prone to error (e.g., by wrongly indicating that a sensing area(key) has been selected, when in fact a user did not intend to selectthis sensing area).

SUMMARY

A touch-sensitive user interface includes a sensor element that has aplurality of sensing areas. A measurement circuit is coupled to thesensor element and is operable to iteratively acquire measurement signalvalues indicative of the proximity of an object to the respectivesensing areas. A processor receives the measurement signal values fromthe measurement circuit and classifies a sensing area as an activatedsensing area for a current iteration according to predefined selectioncriteria.

The processor may generate output signals that are indicative of sensingareas classified as activated sensing areas because the predefinedselection criteria are such that activation of at least a first sensingarea in a current iteration is suppressed if a second sensing area haspreviously been classified as an activated sensing area within apredefined period before the current iteration. Therefore, thetouch-sensitive user interface may help to address unintended activationof sensing areas within the touch-sensitive user interface because atleast one sensing area of a user interface is prevented from beingactivated for a predefined period of time after a specified differentsensing area has been activated.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic view of a touch-sensitive sensor according to anexample embodiment.

FIG. 2 illustrates a table of example inactivity periods for thedifferent sensing areas of the sensor shown in FIG. 1.

FIG. 3 illustrates a table of example pre-defined suppression periodsfor the sensor shown in FIG. 1.

FIG. 4 is a flow diagram illustrating an example embodiment.

FIG. 5 is a flow diagram illustrating another example embodiment.

FIG. 6 is a schematic view illustrating a device incorporating atouch-sensitive sensor according to an example embodiment.

DETAILED DESCRIPTION

FIG. 1 illustrates an example touch-sensitive user interface 10 thatoperates based on capacitive sensing techniques. The touch-sensitiveuser interface 10 provides a series of touch-sensitive sensing areas 12that a user may select by placing a pointing object, e.g. a finger orstylus, into proximity with the sensing areas 12 in order to control adevice into which the interface 10 is incorporated (not shown in FIG.1). The interface 10 comprises a sensor element 14, a capacitancemeasurement circuit 16, and a controller 18.

The sensor element 14 comprises the plurality of sensing areas 12, whichmay also be referred to as keys, sliders or touchscreeens depending onthe application and/or desired functionality of the touch-sensitive userinterface 10. These sensing areas 12 may be defined by electrodematerial (e.g. Indium Tin Oxide—ITO) deposited on a substrate (e.g. aPolyethylene terephthalate (PET) sheet) in an appropriate pattern. Inthis example, the sensor element 14 comprises ten discrete sensing areas12, which for the purposes of identification, are labeled A, B, C, D,S1, S2, S3, S4, S5 and X in FIG. 1.

The nature of a device/apparatus into which the example touch-sensitiveuser interface 10 may be incorporated is not significant. Thus, for thepurposes of this example, the sensor element 14 is provided with anarbitrarily selected number of control inputs having an arbitraryphysical layout. The number of control inputs and their physical layoutwill generally depend on the control requirements of a device into whichthe touch-sensitive user interface 10 is incorporated (e.g., the userinterface designer's ergonomic/aesthetic considerations).

The sensing areas 12 of the sensor element 14 may be coupled to themeasurement circuit 16 in any manner. The measurement circuit 16 isoperable to measure a capacitance C_(n) of each of the sensing areas 12,and to iteratively provide corresponding measurement signals S_(n) tothe controller 18.

The controller 18 is arranged to receive the measurement signals S_(n)from the capacitance measurement circuit 16, and to process themeasurement signals S_(n) in order to classify one or more of thesensing areas 12 as being currently activated (i.e., these sensing areasdeemed to have been selected by a user in the current measurementcycle). The controller 18 is further operable to generate an outputsignal O indicative of which sensing area(s) is (are) currentlyconsidered to be activated. The output signal O may thus be received bya master controller of a device (not shown in FIG. 1) in which thetouch-sensitive user interface 10 is incorporated such that user inputsthrough the touch-sensitive user interface 10 may be used to control thedevice.

In this example, the sensing areas 12 provide five physically separatedkeys (A, B, C, D and X) and five keys grouped in a linear array (S1, S2,S3, S4, S5). The five physically separated keys A, B, C, D and X may beconsidered as discrete keys associated with corresponding discretefunctions according to the operational requirement of a device beingcontrolled via the touch-sensitive user interface 10. As an example, thekeys may relate to stop, pause, skip back, skip forward, and playcommands in a portable media player. In some embodiments, the five keysS1, S2, S3, S4, S5 that are grouped in a linear array may be consideredtogether to provide a single one-dimensional position sensitive sensor(i.e., the measurement signals from these five sensing areas S1, S2, S3,S4, S5 may be processed as a group to determine a position of an objectalong the linear extent of the group of sensing areas S1, S2, S3, S4,S5). These sensing areas S1, S2, S3, S4, S5 may be used to control acontinuously variable function (e.g., a volume output from a portablemedia player, or for scrolling through a listing of available songs on aportable media player).

The sensor element 14 and measurement circuit 16 aspects of theuser-interface 10 may utilize a variety of charge transfer techniques.In addition, other techniques for iteratively providing sets ofmeasurement signals S_(n) associated with a plurality of sensingelements in a touch-sensitive user interface may also be used (e.g.based on heat or pressure sensing).

The measurement circuit 16 and controller 18 are shown as separateelements in FIG. 1 for ease of explanation. However, it will beappreciated that in some embodiments the functionality of themeasurement circuit 16 and controller 18 may be provided by a singleelement (e.g., a single integrated circuit chip, a microprocessor, afield programmable gate array, or an application specific integratedcircuit).

As noted above, problems can sometimes arise in properly determiningwhich sensing areas in a touch sensitive user interface are to beconsidered as being activated in any given measurement cycle. Forexample, a common user input for the user interface of FIG. 1 might befor a user to drag their finger rapidly from sensing areas S1 to S5(e.g., to scroll from left to right in a displayed menu, or to increasea volume output). In this case there is a chance the user may overshootso that their finger ends up adjacent sensing areas X. If a user did notin fact intend to select sensing area X, it would be frustrating if thedevice being controlled were to respond as if sensing area X had beenactivated. Similarly, it is frustrating if a user is forced to take agreat deal of care to position and move their finger so as to avoid anysuch overshoot.

The example touch-sensitive user interfaces and methods described hereinmay help to address such issues by providing a scheme in which a sensingarea of a user interface is prevented from being activated for apredefined period of time after another specified sensing area has beenactivated. In addition, activation of different sensing areas of theuser interface may be suppressed for different periods of time inresponse to different sensing areas have been previously activated. Insome embodiments, the different suppression periods associated withdifferent pairings of sensing areas may be selected according to therelative spatial arrangement of the various sensing areas in conjunctionwith the likelihood of users otherwise erroneously activating one keyafter previously activating another key.

As an example, with reference to FIG. 1, it may be considered that thereis a higher likelihood of users erroneously placing their finger oversensing area X after having activated sensing area S5, rather thanplacing their finger over sensing area A after having activated sensingarea S5. Thus, following activation of sensing area S5, activation ofsensing area X may be suppressed for a first predefined time whilesensing area A may be suppressed for a shorter period of time, or notsuppressed at all (i.e., suppressed for zero time following activationof sensing area S5).

The time base in which periods of time may be measured can be defined invarious ways. As an example, times may be defined in terms of seconds(or fractions thereof).

However, touch-sensitive sensors may also operate to iteratively providesets of one or more measurement signals such that time periods aredefined in terms of numbers of iterations. A single measurement signalacquisition iteration may be referred to as a measurement cycle. Thus,periods of time may be measured in terms of numbers of elapsedmeasurement cycles/iterations. In some embodiments, the measurementcycles might be regular (e.g., example 10 cycles per second) such thatthe number of iterations is a direct proxy for “real” time. However, inother embodiments, the measurement cycles may be irregular (e.g.,because the user interface may be configured to enter a power-saving(sleep) mode with less frequent measurements being made if there hasbeen no sensing areas deemed to be activated for a given period, orbecause quasi-random delays between iterations are used for noisespreading purposes).

The controller 18 keeps track of how long it has been—in terms ofmeasurement cycles—since each of the sensing areas 12 was last deemed tobe activated. In some embodiments, the controller 18 may store a tableof inactivity counters that specifies an inactivity period for eachsensing area 12 of the touch sensitive user interface 10.

FIG. 2 shows an example inactivity period table that may be used for theuser interface of FIG. 1 at a time associated with the beginning of anarbitrary measurement cycle N. Each key (sensing area 14) is associatedwith an inactivity period counter value. The counter value for each keyis a one-byte number that indicates the number of measurement cyclessince the key was last considered activated (up to a maximum of 255measurement cycles).

In some embodiments, the inactivity counter values are incremented foreach key at the end of each measurement cycle (up to the maximum 255)with the inactivity counter values being reset to zero for any sensingareas that are classified during a measurement cycle as being activated.

There are other ways of implementing this in practice (e.g., by countingdown rather than up to indicate increased periods of inactivity). As anexample, inactivity counter values for activated sensing areas may bereset to 255 during a measurement cycle in which they are activated,with the inactivity counter values for each sensing area then beingdecremented at the end of each measurement cycle. The exact way in whichthe controller keeps track of/parameterizes the period of inactivity foreach sensing area is not significant.

Thus referring to FIG. 2, it is apparent that sensing areas B, D, S1,S2, S3, S4, S5 and X have all been inactive for at least 255 measurementcycles prior to the current measurement cycle. In the illustratedexample embodiment, sensing area A was activated more recently at 50measurement cycles ago while sensing area C was considered an activatedsensing area in the immediately preceding measurement cycle.

In order to determine whether or not a first sensing area should besuppressed in a current iteration in response to a second sensing areahaving been activated in a previous iteration, a time period for whichthe first one of the sensing areas is suppressed following selection ofthe second one of the sensing areas is predefined. As noted above, thispredefinition may be done by taking into account the spatial layout ofthe sensing areas in the user interface in conjunction with the expectedmanner in which a user will wish to activate the sensing areas duringnormal use. As an example, sensing area X in FIG. 1 may be suppressedfor a longer time than sensing area A following activation of sensingarea S5 for the reasons given above.

Thus, a suppression time period is predefined for each pairing ofsensing areas to which the suppression scheme of various embodiments maybe applied. In addition, the predefined suppression period for a firstsensing area following a deemed activation of a second sensing area neednot necessarily be the same as the predefined suppression period forsuppressing the second sensing area following activation of the firstsensing area. As an example, sensing area X may be suppressed for arelatively long time following activation of sensing area S5 (for thereasons given above), but in the “reverse” case, sensing area S5 may besuppressed for a shorter time, or not at all, following activation ofsensing area X. Thus, for each sensing area pairing, there may be twopredefined suppression periods depending on which one of the sensingareas activated first.

As used herein a first sensing area may be suppressed for a predefinedperiod following activation of a second sensing area. The second sensingarea may be referred to here as a “suppressor” sensing area, and thefirst sensing area may be referred to here as a “suppressee” sensingarea.

FIG. 3 shows an example table of predefined inactivitythresholds/suppression periods for each pairing of sensing areas for theuser interface shown in FIG. 1. Two suppression periods are defined foreach pairing according to which sensing area in the pairing is thesuppressor and which is the suppressee. Thus, the predefined periods forwhich a given sensing area is suppressed following activation ofdifferent ones of the other sensing areas can be read off from thecolumns in the table of FIG. 3. Similarly, the predefined periods forwhich activation of a given sensing area suppresses activation ofdifferent ones of the other sensing areas can be read off from the rowsin the table of FIG. 3.

In the illustrated example embodiment, following activation of sensingarea S5 (i.e. for S5 as suppressor), the predefined suppression periodsfor the other sensing areas may be read off from the row for sensingarea S5. Thus these periods are: zero measurement cycles for sensingareas A, B, S1, S2, S3 and S4 (i.e. no suppression); twenty measurementcycles for sensing areas C and D; and one hundred measurement cycles forsensing area X. Similarly, the predefined periods for which S5 issuppressed following activation of one of the other sensing areas are:zero measurement cycles following activation of sensing areas A, B, S1,S2, S3 and S4 (i.e. no suppression); and twenty measurement cyclesfollowing activation of sensing areas C, D and X.

The specific predefined suppression periods may be selected based on avariety of consideration (e.g., the likelihood of a user accidentallyplacing their finger over a sensing area following activation of anothersensing area). As an example, FIG. 3 shows the suppression periodsdefined according to some general “rules”, but with specific exceptionsfor sensing area X because of its position next to the positionsensitive “slider” control that is monitored by sensing areas S1 to S5.The general rules in this example are such that suppression periods forneighboring sensing area pairings are twenty cycles (regardless of whichis the suppressor and which is the suppressee sensing area), andsuppression periods for non-neighboring sensing area pairings are zerocycles (i.e. no suppression). These values reflect the increasedlikelihood of a user's finger momentarily slipping from an intendedactivated sensing area to a neighboring sensing area by accident, butwith an assumed close to zero chance of a user's finger erroneouslystraying from an intended activated sensing area to a non-nearestneighbor sensing area.

However, in view of sensing area X's special position adjacent the endof the slider, increased suppression periods are defined for sensingarea X as suppressee for different ones of sensing areas S1 to S5 assuppressor. Thus, sensing area X is defined to be suppressed for 100measurement cycles following sensing S5, 80 measurement cycles followingsensing S4, 60 measurement cycles following sensing S3, and so on.Furthermore, since sensing areas S1 to S5 are intended for use as acontinuous slider controller, there is no suppression of any of thesesensing areas following activation of any other of these sensing areas,even if they are neighbors.

It will be appreciated the specific rules and the specific magnitudes ofthe numbers involved in the table of FIG. 3 are in large part selectedarbitrarily for this example to demonstrate the general considerationsthat might go into the construction of a table of suppression periodsfor a given user interface. Other tables may be constructed according todifferent rules and having different magnitudes of numbers. As anexample, in a user interface having a similar layout of sensing areas tothat shown in FIG. 1, but on a scale that is smaller compared to thedimensions of an expected pointing object, it may be decided thatnext-nearest neighbors to an activated sensing area should also besuppressed for some period. Furthermore, in a similar user interface inwhich measurement iterations are five-times less frequent, the numbersof measurement cycles may be five times smaller than shown in FIG. 3.

In various embodiments, a suitable suppression period table may bedefined in many ways. For example, the suppression periods may be basedon a qualitative assessment of what is appropriate for the layout ofsensing areas and expected usage for the user interface at hand, e.g.based on similar “rules” to those used for the table shown in FIG. 3 forthe user interface of FIG. 1. In other embodiments, an empiricalanalysis of the user interface may be used to define the suppressionperiods.

As an example, a test subject may be provided with a pre-productionexample of the user-interface that does not incorporate suppressionprocessing in accordance with embodiments of the invention. The testsubject may be instructed to select various sensing areas in variouscombination and the corresponding controller output used to identify the“false” positives (e.g., when a test subject is asked to slide fromsensing area S1 to S5, there is a 50% chance they will go on toerroneously activate sensing area X because of overshoot). The testingmay determine that in 95% of these cases the sensing area X iserroneously selected within 100 measurement cycles of sensing area S5.Thus, a suitable suppression period for the pairing of sensing areas S5and X may be defined to be 100 measurement cycles. This predefinition ofthis particular suppression period may provide a balance between beingable to suppress the majority of cases in which a user erroneouslyovershoots to sensing area X without suppressing sensing area X for solong that a user finds it unresponsive in the event they genuinely wishselect it following a slide along sensing areas S1 to S5.

In some embodiments, test subject user feedback may also be used toadjust the suppression periods. As an example, a test user of the userinterface may report that he finds X keeps being accidentally activatedtoo often after a slide along the sensing areas S1 to S5. One potentialsolution is to increase the suppression period for sensing area Xfollowing activation of sensing area S5. Alternatively, the test usermay report that he finds X to be too unresponsive after a slide alongthe sensing areas S1 to S5 such that the suppression period for sensingarea X following activation of sensing area S5 may be decreased.

FIG. 4 is a flow chart illustrating an example method that may beperformed by one or more components of the user interface 10 of FIG. 1.In one embodiment, controller 18 may be a micro-controller suitablyconfigured to perform the method. The micro-controller may utilizesoftware, hardware, firmware or any combination thereof to implement themethod. In further embodiments, controller 18 may be a separatecomponent that may be coupled to interface 10, or may be integrated withinterface 10 as shown.

At T1 410 a suppression period table for the user interface is defined(see, e.g., the table shown in FIG. 3). The illustrated example table isconstructed based in part on the various considerations described abovefor the layout of sensing areas 12 of the user interface 10, and theexpected likelihood of an object to be sensed being wrongly positionedover a given sensing area following activation of another sensing area.In some embodiments, the table need only be defined once at manufactureand stored for retrieval when the user interface 10 is to be used (i.e.it does not need redefining each time the user interface is switched on,but may simply be obtained from memory). In further embodiments, thetable may be modified by a user to reflect desired user preferences.

At T2 420 an inactivity period counter table is defined and initialized.In this example embodiment, the structure shown in FIG. 2 is initializedwith inactivity counter periods corresponding to the maximum value of255 for all sensing areas.

At T3 430 measurement signal values S_(n) for the sensing areas 12 areacquired by the measurement circuit 16 and passed to the controller 18using any technique for operating capacitance-based user interfaces.

At T4 440 the controller 18 processes the measurement signals S_(n) todetermine if any of them meet minimum instantaneous signal-basedselection criteria. These signal-based selection criteria will depend onthe specific implementation at hand. As an example, the signal-basedselection criteria may simply be an identification of the sensing areaassociated with the measurement signal having the greatest maximum abovea threshold. This selection criteria might be appropriate in a simpleimplementation where only a single sensing area is to be consideredactivated in any given measurement cycle. Any technique may be used atT4 440 to determine if any sensing area meets signal-based criteria thatis appropriate for a particular application.

If it is determined at T4 440 that none of the measurement signals S_(n)from the sensing areas meet the signal-based selection criteria, thanthe illustrated method follows the branch labeled “NO” to T5 450.

At T5 450 the controller 18 generates a null signal as output O. Amaster controller of the device in which the user interface 10 isincorporated (not shown in the figures) receives the null output signalO from the controller 18 of the user interface and acts accordingly(i.e., the master controller takes no action because the user interface10 is reporting that there is no user input for the current iteration).In some embodiments, the null signal generated at T4 440 might not be aspecific signal indicating no user input, but might simply correspond tothe controller 18 not providing any signal whatsoever.

At T6 460 the inactivity period counter for each sensing area in theinactivity period counter table are incremented by one (up to themaximum of 255 iterations). If the inactivity period counter for a givensensing area is already at 255 iterations, the inactivity period counterremains at 255 iterations.

As shown in FIG. 4, the method goes back to T3 430 where a new set ofmeasurement signal values S_(n) is obtained for the next iteration.Thus, the method loops through T3 430, T4 440, T5 450 and T6 460 untilit is determined in an iteration of T4 440 that one of the sensing areasis associated with a measurement signal that meets the instantaneoussignal-based selection criteria. As an example, this situation mightoccur because a user has placed their finger over sensing area A so asto cause a sufficient change in the measurement signal associated withsensing area A such that sensing area A is nominally deemed to have beenselected. In the is particular example, such a sensing area is referredto here as being “nominally” selected because while sensing area A maynominally meet the instantaneous signal-based selection criteria appliedat T4 440 (which as noted above may be based on conventional criteria),it may still be suppressed from being deemed activated for the currentmeasurement signal.

When one of the sensing areas meets the signal-based selection criteriaof T4 440, the method proceeds to T7 470. At T7 470 the controller 18determines whether or not the particular sensing area that meets thesignal-based selection criteria of T4 440 should nonetheless besuppressed from activation in the current iteration according totemporal-based selection criteria. In some embodiments, The controller18 compares the predefined suppression periods associated with thenominally selected sensing area and each of the other sensing areas withthe corresponding counter values in the inactivity period counter valuetable for the current iteration. If the predefined suppression periodassociated with a pairing of the nominally selected sensing area and anyone of the other sensing areas is more than the current inactivityperiod counter value for the other sensing area, the nominally selectedsensing area is suppressed from activation.

Thus, returning to the particular example discussed above, sensing areaA is taken to be the first sensing area to meet the signal-basedselection criteria of T4 440 (i.e., because the device is switched on).Accordingly, in the iteration in which this occurs, the counter valuesin the inactivity period counter table are all at 255 (i.e., all thesensing areas are indicated as having been inactive for the at least themaximum recordable value of 255 iterations). The predefined suppressionperiods for sensing area A after activation of another sensing area areall less than 255 iterations, as indicated in column “A” of thesuppression period table shown in FIG. 3 (i.e., the predefinedsuppression periods are zero iterations for sensing areas C, D, S3, S4,S5 and X; and twenty iterations for sensing areas B, S1 and S2). Sincenone of the current inactivity period counters for the other sensingareas in this example are less than their corresponding predefinedsuppression periods associated with nominally selected sensing area A,the nominally selected sensing area is not suppressed and the methodgoes on to T8 480.

At T8 480 the controller 18 generates an output signal O indicating thatsensing area A is to be considered an activated sensing area for thecurrent iteration. The master controller of the device in which the userinterface is incorporated receives this signal and responds accordingly.T8 480 may be described more generally as the controller 18 generatingoutput signals O indicating whichever sensing areas were identified asmeeting the signal-based selection criteria of T4 440, and which werenot suppressed for failing to meet the temporal-based selection criteriaof T7 470.

As shown in FIG. 4, the method goes on to T9 490 where the inactivityperiod counter value for the sensing area that is deemed to be activatedin the current iteration is set to zero. The method then goes back to T6460, where as described above, the inactivity period counter for eachsensing area in the inactivity period counter table is incremented byone (up to the maximum of 255 iterations). If the inactivity periodcounter for a given sensing area is already at 255 iterations, theinactivity period counter remains at 255 iterations. The method thengoes back to T3 430 where a new set of measurement signal values S_(n)is obtained for the next iteration.

However, if it is determined at T7 470 that one (or more) of the currentinactivity period counters for the sensing areas other than thenominally selected sensing area is less than the correspondingpredefined suppression period, the nominally selected sensing area issuppressed from activation. In this particular example, the method thengoes from T7 470 back to T5 450. Thus, the method provides a mechanismthrough T7 470 whereby sensing areas may be suppressed from activationfor predefined periods after activation of another sensing area.

As an example of this type of activation suppression, reference is madeagain to measurement iteration N for which the inactivity periodcounters are shown in the table of FIG. 2. The table in FIG. 2 showsthat sensing area C was last considered activated in the previousiteration. Assuming that a user activated sensing area C as desired andthen lifted their finger away from the sensor element 14 of the userinterface, but in doing so accidentally slipped briefly onto sensingarea D.

In some embodiments, these actions will cause T4 440 of iteration N,sensing area D to be found to meet the signal-based criteria forselection. However, while sensing area D is nominally selected at T4 440of iteration N, sensing area D is suppressed in T7 470.

This suppression is because at T7 470 the controller 18 will find thatthe predefined suppression period for sensing area D followingactivation of sensing area C is twenty iterations, and this suppressionperiod is more that the current inactivity period counter value forsensing area C (one iteration). Therefore, as shown in FIG. 4, theresult of the test at T7 470 causes the method to move from T7 470 to T5450 where the controller 18 provides a null output.

FIG. 4 shows one example method, but there are many modifications thatmay be made to the method in other embodiments. As an example, theelements of the method may be performed in a different order (T1 410 andT2 420 may be reversed). In addition, T7 470 and T4 440 may be swappedsuch that the temporal selection criteria at T7 470 may be appliedbefore the instantaneous signal-based selection criteria at T4 440(i.e., the sensing areas may be excluded from further consideration byapplying the temporal selection criteria set out in relation to T7 470of FIG. 4 for all sensing areas, and not just nominally selected sensingareas). Other types of signal-based selection criteria may then beapplied to those sensing areas not excluded by the temporal selectioncriteria.

Furthermore, different ways of incrementing and resetting the inactivitycounters may be used. As an example, the inactivity counter for a keythat remains activated for a number of successive iterations willoscillate between “1” and “0” (i.e., the inactivity counter will bealternately reset to “0” at T9 490 and incremented to “1” at T6 460 ofeach iteration). If this oscillation is not desired, T6 460 may bemodified such that any key considered as being activated in a giveniteration does not have it's activity counter incremented in themodified version of T6 460 for that iteration. In some embodiments, theinactivity counter of an activated key may be allowed to increment alongwith all the other keys while it remains in activation, and then onlyreset once the particular activated key ceases to be activated.

In some embodiments, the user interface may include multiple sensingareas that may be activated per measurement iteration. Thus, multiplenominally selected sensing areas may be carried forward from an elementcorresponding to T4 440 with each being checked separately in an elementcorresponding to T7 470. Only those sensing areas meeting both theinstantaneous signal selection criteria and the temporal selectioncriteria may be indicated through the output signal O from thecontroller as being considered activated in a given iteration.

In the example embodiments described above, the suppression schemeprovides for an absolute bar on activation of a sensing area within thepredefined suppression period associated with a previous activation ofanother sensing area. In other embodiments, the suppression might not beabsolute.

As an example, the suppression scheme may be such that a sensing areamerely has a reduced likelihood of being considered activated during anongoing “live” suppression period after recent activation of anothersensing area. A sensing area that would be completely suppressed in theembodiment shown in FIG. 4 may be allowed to become activated in anotherembodiment (even within an ongoing “live” suppression period if themeasurement signal were to meet stricter signal-based criteria). In someembodiments, a sensing area might overcome what would otherwise becomplete suppression in an ongoing suppression period if it were to beassociated with a particularly high signal, or if the sensing area wereto continue to meet the instantaneous signal-based criteria for a givennumber of successive iterations.

FIG. 5 is a flow chart illustrating another example method that may beperformed by one or more components of the user interface 10 of FIG. 1.At T1 510 a suppression period table for the user interface is defined(see, e.g., the table shown in FIG. 3).

At T2 520 an inactivity period counter table is defined and initialized.In this example embodiment, the structure shown in FIG. 2 is initializedwith inactivity counter periods corresponding to the maximum value of255 for all sensing areas.

At T3 530 measurement signal values S_(n) for the sensing areas 12 areacquired by the measurement circuit 16 and passed to the controller 18using any technique for operating capacitance-based user interfaces.

At T4 540 the controller 18 processes the measurement signals S_(n) todetermine if any of them meet minimum instantaneous signal-basedselection criteria. These signal-based selection criteria will depend onthe specific implementation at hand. As an example, the signal-basedselection criteria may simply be an identification of the sensing areaassociated with the measurement signal having the greatest maximum abovea threshold. This selection criteria might be appropriate in a simpleimplementation where only a single sensing area is to be consideredactivated in any given measurement cycle. Any technique may be used atT4 440 to determine if any sensing area meets signal-based criteria thatis appropriate for a particular application.

If it is determined at T4 540 that none of the measurement signals S_(n)from the sensing areas meet the signal-based selection criteria, thanthe illustrated method follows the branch labeled “NO” to T5 550.

At T5 550 the controller 18 generates a null signal as output O. Amaster controller of the device in which the user interface 10 isincorporated (not shown in the figures) receives the null output signalO from the controller 18 of the user interface and acts accordingly(i.e., the master controller takes no action because the user interface10 is reporting that there is no user input for the current iteration).In some embodiments, the null signal generated at T4 440 might not be aspecific signal indicating no user input, but might simply correspond tothe controller 18 not providing any signal whatsoever.

At T6 560 the inactivity period counter for each sensing area in theinactivity period counter table are incremented by one (up to themaximum of 255 iterations). If the inactivity period counter for a givensensing area is already at 255 iterations, the inactivity period counterremains at 255 iterations.

As shown in FIG. 5, the method goes back to T3 530 where a new set ofmeasurement signal values S_(n) is obtained for the next iteration.Thus, the method loops through T3 530, T4 540, T5 550 and T6 560 untilit is determined in an iteration of T4 540 that one of the sensing areasis associated with a measurement signal that meets the instantaneoussignal-based selection criteria.

When one of the sensing areas meets the signal-based selection criteriaof T4 540, the method proceeds to T7 570, where the inactivity periodcounter value for the sensing area that is deemed to be nominallyselected in the current iteration is set to zero.

At T8 580 the controller 18 determines whether or not the particularsensing area that meets the signal-based selection criteria of T4 540should nonetheless be suppressed from activation in the currentiteration according to temporal-based selection criteria. In someembodiments, the controller 18 compares the predefined suppressionperiods associated with the nominally selected sensing area and each ofthe other sensing areas with the corresponding counter values in theinactivity period counter value table for the current iteration. If thepredefined suppression period associated with a pairing of the nominallyselected sensing area and any one of the other sensing areas is morethan the current inactivity period counter value for the other sensingarea, the nominally selected sensing area is suppressed from activation.

At T9 590 the controller 18 generates an output signal O indicating thatsensing area A is to be considered an activated sensing area for thecurrent iteration. The master controller of the device in which the userinterface is incorporated receives this signal and responds accordingly.T9 590 may be described more generally as the controller 18 generatingoutput signals O indicating whichever sensing areas were identified asmeeting the signal-based selection criteria of T4 640, and which werenot suppressed for failing to meet the temporal-based selection criteriaof T8 580.

As shown in FIG. 5, the method then goes back to T6 560, where asdescribed above, the inactivity period counter for each sensing area inthe inactivity period counter table is incremented by one (up to themaximum of 255 iterations). If the inactivity period counter for a givensensing area is already at 255 iterations, the inactivity period counterremains at 255 iterations. The method then goes back to T3 530 where anew set of measurement signal values S_(n) is obtained for the nextiteration.

However, if it is determined at T8 580 that one (or more) of the currentinactivity period counters for the sensing areas other than thenominally selected sensing area is less than the correspondingpredefined suppression period, the nominally selected sensing area issuppressed from activation. In this particular example, the method thengoes from T8 580 back to T5 550. Thus, the method provides a mechanismthrough T8 580 whereby sensing areas may be suppressed from activationfor predefined periods after activation of another sensing area.

The methods illustrated in FIGS. 4 and 5 may help address some of theproblems that are associated with conventional user-interfaces byproviding a scheme in which a sensing area may be prevented from beingactivated for a predefined period of time after another sensing area hasbeen activated. In addition, the activation of different sensing areasof the user interface may be suppressed for different periods of time inresponse to different sensing areas have been previously activated inaccordance with a defined suppression period table.

FIG. 6 is a schematic view illustrating an example device 20 thatincorporates a user interface 30. In the illustrated example embodiment,the device 20 is a cellular telephone 20 comprising a housing 22, adisplay screen 24, the user interface 30, and sliding cover 26. Thesliding cover 26 may be slid over the sensing element surface of theuser interface 30 to protect it (e.g., from scratches and/or accidentalactivation). The sliding cover may be moved down by a user applying asuitable force at a finger notch 28.

The user interface 30 includes a three-by-four array of touch sensitivesensing areas that define a conventional telephone keypad array (not allof the sensing areas visible in FIG. 6). The user interface 30 furtherincludes a guard sensing area 32 extending across the top of the sensorelement of the user interface 30.

During operation when a user slides the sliding cover 26 down to exposethe user interface, there is a risk that an appendage (i.e., finger orthumb) will accidentally activate sensing areas of the telephone keypadas it is dragged past them. The guard sensing area 32 may help preventthis undesirable situation. Thus, a controller of the user interface isconfigured to suppress activation of each of the sensing areas of thetelephone keypad for a predefined time after the guard sensing area 32is activated.

The guard sensing area 32 will typically be the first sensing area to beactivated because it is adjacent the top of the sliding cover where theuser places their finger to slide the cover open. Thus, the remainingsensing areas may be suppressed for a period corresponding to thetypical time to open the sliding cover. This approach is much simplerthan requiring a user to manually “lock” and “unlock” the keyboard, orusing a separate switch mechanism to indicate whether or not the slidingcover is open or closed.

While the above example embodiments are based on a sensor element havingphysically discrete electrode material providing physically discretesensing areas, similar principles may be applied to sensor elements thatprovide for a continuous coordinate output which is mapped to virtualsensing areas. In this type of embodiment, the measurement signals fromthe measurement circuit would comprise an indication of the virtualbutton(s) associated with the determined coordinates of an object(objects) over the sensor element.

In addition, although the above description has focused primarily onembodiments that are based on capacitive sensing techniques, similarmethods may be applied to user interfaces that are based on othersensing techniques which provide measurement signals indicative of adegree of coupling between a sensing element and an object (e.g., a userinterface having sensing areas provided by heat or pressure sensitivesensors).

Thus, there has been described a touch-sensitive user interfacecomprising a sensor element that includes a plurality of keys, ameasurement circuit coupled to the sensor element and operable toiteratively acquire measurement signal values indicative of theproximity of an object to the respective keys, and a processor operableto receive the measurement signal values from the measurement circuitand to classify a key as an activated key for a current iterationaccording to predefined selection criteria, wherein the predefinedselection criteria are such that activation of at least a first key in acurrent iteration is suppressed if at least a second key has previouslybeen classified as an activated key within a predefined period beforethe current iteration.

In some embodiments, a key may be prevented from being activated for apredefined period of time after another key has ceased to be consideredactivated. Furthermore, activation of different keys may be suppressedfor different periods of time in response to one or more other keyshaving been previously activated. This can help reduce unintendedactivations of keys.

Further particular and preferred aspects of the present invention areset out in the accompanying independent and dependent claims. It will beappreciated that features of the dependent claims may be combined withfeatures of the independent claims as appropriate, and in combinationsother than those explicitly set out in the claims.

1. A touch-sensitive user interface comprising: a sensor element havinga plurality of sensing areas; a measurement circuit coupled to thesensor element and operable to iteratively acquire measurement signalvalues indicative of the proximity of an object to the respectivesensing areas; and a processor operable to receive the measurementsignal values from the measurement circuit and classify a sensing areaas an activated sensing area for a current iteration according topredefined selection criteria in order to generate output signalsindicative of sensing areas that are classified as activated sensingareas, wherein the predefined selection criteria are such thatactivation of at least a first sensing area in a current iteration issuppressed if at least a second sensing area has previously beenclassified as an activated sensing area within a predefined periodbefore the current iteration.
 2. The touch-sensitive user interface ofclaim 1, wherein the predefined period for suppressing activation of thefirst sensing area following activation of the second sensing area isdependent on a spatial relationship between the first and second sensingareas within the sensor element.
 3. The touch-sensitive user interfaceof claim 1, wherein the predefined selection criteria are such thatactivation of the second sensing area in the current iteration issuppressed if the first sensing area has been classified as an activatedsensing area within a predefined period before the current iteration. 4.The touch-sensitive user interface of claim 3, wherein the predefinedperiod for suppressing activation of the second sensing area followingactivation of the first sensing area is different from the predefinedperiod for suppressing activation of the first sensing area followingactivation of the second sensing area.
 5. The touch-sensitive userinterface of claim 1, wherein the predefined selection criteria are suchthat activation of a third sensing area in the current iteration issuppressed if the second sensing area has been classified as anactivated sensing area within a predefined period before the currentiteration.
 6. The touch-sensitive user interface of claim 5, wherein thepredefined period for suppressing activation of the third sensing areafollowing activation of the second sensing area is different from thepredefined period for suppressing activation of the first sensing areafollowing activation of the second sensing area.
 7. The touch-sensitiveuser interface of claim 1, wherein the predefined period corresponds toa predefined number of measurement signal acquisition iterations.
 8. Thetouch-sensitive user interface of claim 7, wherein the processor isoperable to maintain a counter value representing an inactivity periodfor the second sensing area, the inactivity period being a time fromwhen the second sensing area was last activated, and wherein theprocessor is operable to compare the counter value for the secondsensing area for the current iteration with the predefined number ofmeasurement signal acquisition iterations corresponding to thepredefined period for suppressing the first sensing area followingactivation of the second sensing area.
 9. The touch-sensitive userinterface of claim 1, wherein the predefined period corresponds to apredefined time duration.
 10. The touch-sensitive user interface ofclaim 1, wherein the first sensing area is a first plurality of sensingareas and the second sensing area is a second plurality of sensing areassuch that activation of some of the first plurality of sensing areas ina current iteration is suppressed if some of the second plurality ofsensing areas have been previously classified as activated sensing areaswithin different predefined periods before the current iteration. 11.The touch-sensitive user interface of claim 10, wherein at least onesensing area is common to both the first plurality of sensing areas andthe second plurality of sensing areas.
 12. The touch-sensitive userinterface of claim 11, wherein the first plurality of sensing areas andthe second plurality of sensing areas include some of the same sensingareas.
 13. The touch-sensitive user interface of claim 10, wherein thedifferent predefined periods depend on the respective spatialrelationships between some of the sensing areas in the first pluralityof sensing areas and some of the sensing areas in the second pluralityof sensing areas.
 14. The touch-sensitive user interface of claim 10,wherein the different predefined periods are stored in a look-up tablerelating the some of the sensing areas in the first plurality of sensingareas and some of the sensing areas in the second plurality of sensingareas.
 15. A method comprising: classifying sensing areas in atouch-sensitive user interface as activated by iteratively acquiringmeasurement signal values indicative of the proximity of an object tothe sensing areas; and processing the measurement signal values toclassify a sensing area as an activated sensing area for a currentiteration according to predefined selection criteria and generatingoutput signals indicative of sensing areas classified as activatedsensing areas, wherein the predefined selection criteria are such thatactivation of at least a first sensing area in a current iteration issuppressed if at least a second sensing area has previously beenclassified as an activated sensing area within a predefined periodbefore the current iteration.
 16. The method of claim 15, wherein thepredefined period for suppressing activation of the first sensing areafollowing activation of the second sensing area is dependent on aspatial relationship between the first and second sensing areas withinthe sensor element.
 17. The method of claim 15, wherein the predefinedperiod for suppressing activation of the second sensing area followingactivation of the first sensing area is different from the predefinedperiod for suppressing activation of the first sensing area followingactivation of the second sensing area.
 18. The method of claim 15,wherein the predefined period corresponds to a predefined number ofmeasurement signal acquisition iterations.
 19. The method of claim 15,wherein classifying sensing areas in a touch-sensitive user interface asactivated by iteratively acquiring measurement signal values indicativeof the proximity of an object to the sensing areas includes classifyinga first plurality of sensing areas and a second plurality of sensingareas such that activation of some of the first plurality of sensingareas in a current iteration is suppressed if some of the secondplurality of sensing areas have been previously classified as activatedsensing areas within different predefined periods before the currentiteration.
 20. (canceled)
 21. A controller comprising: a processoroperable to receive measurement signal values and classify a sensingarea within a plurality of sensing areas as an activated sensing areafor a current iteration according to predefined selection criteria inorder to generate output signals indicative of sensing areas that areclassified as activated sensing areas, wherein the predefined selectioncriteria are such that activation of at least a first sensing area in acurrent iteration is suppressed if at least a second sensing area haspreviously been classified as an activated sensing area within apredefined period before the current iteration. 22.-25. (canceled)